import request from '@/config/axios'

// 生产质量报 VO
export interface QualityReportVO {
  id: number // id
  workOrderNo: string // 工单号
  orderNo: string // 订单号
  sourceOrder: string // 源订单
  salesOrder: string // 销售订单
  workOrderDate: Date // 工单日期
  promisedDelivery: Date // 承诺交期
  processAvgDuration: number // 工序检平均检验时长
  startProductionTime: Date // 开工时间
  productCode: string // 产品品号
  specification: string // 规格
  bomVersion: string // BOM版次
  drawingNo: string // 图号
  workOrderQuantity: number // 工单数量
  workOrderStatus: number // 工单状态
  firstRate: number // 首检合格率
  firstOneRate: number // 首检一次合格率
  firstAvgDuration: number // 首检平均检验时长
  processRate: number // 工序检合格率
  processOneRate: number // 工序检一次合格率
  line: string // 产线
  inspectionType: string // 检验类型
}

// 生产质量报 API
export const QualityReportApi = {
  // 查询生产质量报分页
  getQualityReportPage: async (params: any) => {
    return await request.get({ url: `/opticore/quality-report/page`, params })
  },

  // 查询生产质量报详情
  getQualityReport: async (id: number) => {
    return await request.get({ url: `/opticore/quality-report/get?id=` + id })
  },

  // 新增生产质量报
  createQualityReport: async (data: QualityReportVO) => {
    return await request.post({ url: `/opticore/quality-report/create`, data })
  },

  // 修改生产质量报
  updateQualityReport: async (data: QualityReportVO) => {
    return await request.put({ url: `/opticore/quality-report/update`, data })
  },

  // 删除生产质量报
  deleteQualityReport: async (id: number) => {
    return await request.delete({ url: `/opticore/quality-report/delete?id=` + id })
  },

  // 导出生产质量报 Excel
  exportQualityReport: async (params) => {
    return await request.download({ url: `/opticore/quality-report/export-excel`, params })
  },
}